「類別」 中的一班 「方法」(方法成員),先建立該「類別」的「物件」,再使用
「物件名稱.方法名稱」來呼叫。
類別的 「方法成員」 在宣告時,若在「方法」名稱前面加上「static」 便會成為 「類別方法」(或俗稱的「靜態方法」)也就是python 裡面的全域變數。
「類別方法」可以不用先「new」來建立「物件」,便可以直接給「類別」外部的敘述呼叫使用。
「類別方法被使用的方式」
類別名稱.類別方法名稱()
要注意的是,在「類別方法」中所使用到的變數皆須為「靜態變數」(即 類別變數)。
也就是需要使用「static」宣告的變數才能在「類別方法」中出現。
package CH06_06; //定義套件
class CHeight // 建立 Cstudent 類別
{
public static int count =0; //宣告「公開」「靜態」整數的「類別變數(及「靜態變數」)」,並指定初值
public static double hei_tot=0; //宣告「公開」「靜態」被經束縛點數的「類別變數」(就事靜態變數),並指定初值。
private double hei;//宣告「私有」的類別「資料成員」
public void SetTot(double h) //9-14行 SetTot(double h)」,有傳入一個倍精數浮點的值。
{
hei =h;
hei_tot+=hei;
count++;
}
public static double GetHeiAve()//宣告「公開」的「類別方法」 double GetHeiAve(),沒有傳入值,傳回身高平均後的結果。
{
return hei_tot| count;
}
}
public class CH06_06
{
public static void main(String[]args)
{
CHeight p1 =new CHeight();//利用「CHeight()」的「建構子」,建立p1物件。
p1.SetTot(180);//傳入一個倍精度浮點數的值給p1物件的「方法成員」「SetTot(double h)」,進行身高加總。
CHeight p2 =new CHeight(); //利用「CHeight()」的 建構子 ,建立p1物件。
p2.SetTot(140); // 傳入一個倍精度浮點數的值給p2物件的「方法成員」「SetTot(double h)」,進行身高加總。
CHeight p3=new CHeight();//利用「CHeight()」的 建構子 ,建立p3物件。
p3.SetTot(160); // 傳入一個倍精度浮點數的值給p3物件的「方法成員」「SetTot(double h)」,進行身高加總。
System.out.println("總人數="+CHeight.count);//顯示類別變數,count內的值。
System.out.println("身高平均="+CHeight.GetHeiAve());//顯示 類別方法 GetHeiAve()傳回的值。